package com.fowo.api.model.sell.order.transaction.details;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 订单列表交易明细 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class SellOrderTransactionDetailsImportPo {

  /** 所属销售订单 */
  @ExcelProperty("所属销售订单")
  @Size(max = 50, message = "所属销售订单长度不能超过50")
  private String parentSellOrderAmazonOrderId;

  @ExcelIgnore
  @Schema(title = "所属销售订单")
  private String parentSellOrder;

  /** 结算编号 */
  @ExcelProperty("结算编号")
  @Size(max = 50, message = "结算编号长度不能超过50")
  private String settlementCode;

  /** 结算时间 */
  @ExcelProperty("结算时间")
  @DateTimeString(message = "结算时间不是有效的时间日期格式")
  private String settlementDate;

  /** MSKU */
  @ExcelProperty("MSKU")
  @Size(max = 50, message = "MSKU长度不能超过50")
  private String msku;

  /** SKU */
  @ExcelProperty("SKU")
  @Size(max = 50, message = "SKU长度不能超过50")
  private String sku;

  /** 数量 */
  @ExcelProperty("数量")
  @IntegerString(message = "数量数值格式不正确", label = "数量", min = 0)
  private String quantity;

  /** 来源 */
  @ExcelProperty("来源")
  @Size(max = 50, message = "来源长度不能超过50")
  private String infoSource;

  /** 金额 */
  @ExcelProperty("金额")
  @DecimalString(message = "金额小数格式不正确", label = "金额")
  private String money;

  /** 回款时间 */
  @ExcelProperty("回款时间")
  @DateTimeString(message = "回款时间不是有效的时间日期格式")
  private String returnDate;

  /** 币种 */
  @ExcelProperty("币种")
  private String currency;
}
